unit SUClient;

interface
  uses
    SUIcq;
  Type
    PClient = class
      private
        class var _Instance : PClient;

        constructor Create;
    function SinGetICQ: PICQ;
      public
        class function GetInstance():PClient;

        property ICQ : PICQ read SinGetICQ;

    end;

implementation

{ PClient }

constructor PClient.Create;
begin
  //Not used
end;

class function PClient.GetInstance: PClient;
begin
  if not Assigned(_Instance) then _Instance := PClient.Create;
  Result := _Instance;
end;

function PClient.SinGetICQ: PICQ;
begin
  Result := PICQ.GetInstance();
end;

end.
